//管理员第二层
const { getAdmins, addAdmin, delAdmin, updateAdmin, getAdminById ,adminsLogin} = require('../dao/adminsDao');
//登录
//加密  身份认证
// const bcrypt = require('bcrypt')
const jwt = require('jsonwebtoken')
module.exports.adminsLogin = async a => {
    const data = await adminsLogin(a)
    if (data.length > 0) {
        const { account, password } = a
        //  const result =bcrypt.compareSync(password,data[0].password)
        // if(result){
        const token = jwt.sign(
            { account },
            'admins',   //密钥
            { expiresIn: 60 * 10 } //token有效期
        )
        return {
            message: '管理员登录成功',
            status: 1,
            token
        }
        // }else{
        //     return{
        //         message:'管理员登录失败,密码错误',
        //         status:0
        //     }
        // }  
    } else {
        return {
            message: '登录失败,没有该管理员',
            status: 0
        }
    }
}
module.exports.getAdmins = async params => {
    const data = await getAdmins(params);
    // console.log(11122, data);
    return {
        message: '获取管理员数据成功',
        status: 1,
        data
    }
}

module.exports.addAdmin = async params => {
    const data = await addAdmin(params);
    // console.log(11122, data);
    if (data._id) {
        // 管理员新增成功
        return {
            message: '管理员新增成功',
            status: 1,
        }
    }
    return {
        message: '管理员新增失败',
        status: 0,
    }
}

module.exports.delAdmin = async params => {
    const data = await delAdmin(params);
    if (data.nModified > 0 || data.deletedCount > 0) {
        return {
            message: '删除成功',
            status: 1
        };
    } else {
        return {
            message: '删除失败',
            status: 0
        };
    }
}

module.exports.getAdminById = async params => {
    const data = await getAdminById(params);
    if (data.length == 1) {
        return {
            message: '管理员数据获取成功',
            status: 1,
            data
        }
    }
    return {
        message: '管理员数据获取失败',
        status: 0
    }
}

module.exports.updateAdmin = async params => {
    const data = await updateAdmin(params);
    if (data.nModified > 0) {
        return {
            message: '管理员数据修改成功',
            status: 1
        }
    }
    return {
        message: '管理员数据修改失败',
        status: 0
    }
}